package server.business.converter;

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import org.springframework.stereotype.Component;

/**
 * @Author: 赵越
 * @Description: 下载时的部门数据字典转换
 * @CreateTime: 2023-03-31  13:31
 */
@Component
public class DepartmentConverter implements Converter<String> {

    @Override
    public Class<String> supportJavaTypeKey() {
        return String.class;
    }

    @Override
    public CellDataTypeEnum supportExcelTypeKey() {
        return CellDataTypeEnum.STRING;
    }

    @Override
    public String convertToJavaData(CellData arg0, ExcelContentProperty arg1, GlobalConfiguration arg2) throws Exception {
        throw new UnsupportedOperationException("Unimplemented method 'convertToJavaData'");
    }

    @Override
    public CellData<String> convertToExcelData(String value, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        if (value == null) {
            return new CellData<>("");
        } else if (value.equals("0100")) {
            return new CellData<>("预防保健科");
        } else if (value.equals("0200")) {
            return new CellData<>("内科");
        } else if (value.equals("0301")) {
            return new CellData<>("呼吸内科");
        } else if (value.equals("0302")) {
            return new CellData<>("消化内科");
        } else if (value.equals("0303")) {
            return new CellData<>("神经内科");
        } else if (value.equals("0304")) {
            return new CellData<>("心血管内科");
        } else if (value.equals("0305")) {
            return new CellData<>("血液内科");
        } else if (value.equals("0306")) {
            return new CellData<>("肾病学科");
        } else if (value.equals("0307")) {
            return new CellData<>("内分泌科");
        } else if (value.equals("0308")) {
            return new CellData<>("免疫科");
        } else if (value.equals("0309")) {
            return new CellData<>("变态反应科");
        } else if (value.equals("0310")) {
            return new CellData<>("老年病科");
        } else if (value.equals("0400")) {
            return new CellData<>("外科");
        } else if (value.equals("0401")) {
            return new CellData<>("普通外科");
        } else if (value.equals("0402")) {
            return new CellData<>("神经外科");
        } else if (value.equals("0403")) {
            return new CellData<>("骨科");
        } else if (value.equals("0404")) {
            return new CellData<>("泌尿外科");
        } else if (value.equals("0405")) {
            return new CellData<>("胸外科");
        } else if (value.equals("0406")) {
            return new CellData<>("心脏大血管外科");
        } else if (value.equals("0407")) {
            return new CellData<>("烧伤科");
        } else if (value.equals("0408")) {
            return new CellData<>("整形外科");
        } else if (value.equals("0500")) {
            return new CellData<>("妇产科");
        } else if (value.equals("0501")) {
            return new CellData<>("妇科");
        } else if (value.equals("0502")) {
            return new CellData<>("产科");
        } else if (value.equals("0503")) {
            return new CellData<>("计划生育科");
        } else if (value.equals("0504")) {
            return new CellData<>("优生学科");
        } else if (value.equals("0505")) {
            return new CellData<>("生殖健康与不孕症科");
        } else {
            return new CellData<>("此部门未添加");
        }
    }
}
